//完美运动框架

//获取样式
function getStyle(obj,name){
	if(obj.currentStyle){
		return obj.currentStyle[name];
	}else{
		return getComputedStyle(obj,null)[name];
	}
}

//startMove(oDiv, {width: 400, height: 400});

//运动框架
function startMove(obj.json.fnEnd){
	clearInterval(obj.timer);
	obj.timer = setInterval(function(){
		var bStop = true;     //声明一个变量，假设所有值已经到了目标点

		//循环
		for(var i in json){
			var cur = 0;  //变量初始化
			if(attr == 'opacity'){
                cur = Math.round(parseInt(getStyle(obj,attr))*100);   //透明度属性
			}else{
                cur = parseInt(getStyle(obj,attr)); //其他属性，宽、高、fontSize、borderWidth等
			}

			//运动速度
			var speed = (json[attr]-cur)/6;
			//取整
			speed = speed>0?Math.ceil(speed):Math.floor(speed);

			//判断是否到达运动终点
			if(cur != json[attr]){
				//没到
				bStop = false;
			}

			//没到，继续运动,判断不同属性选择不同运动框架
			if(attr == 'opacity'){
				obj.style.filter='alpha(opacity:'+(cur+speed)+')';
				obj.style.opacity=(cur+speed)/100;
			}else{
				obj.style[attr] = cur+speed+'px';
			}
		}

		//到达运动终点，清除定时器
		if(bStop){
			clearInterval(obj.timer);
			//并且判断是否结束，结束返回结束函数
			if(fnEnd) fnEnd;
		}

	},30);

}